import { createApp } from 'vue'
import './style.css'
import App from './App.vue'

//引入路由
import router from './routers/index'
// 引入vant4
import Vant, { showFailToast  } from 'vant';
import 'vant/lib/index.css';
//引入cookie插件
import VueCookies from 'vue3-cookies'
// 引入接口
import Api from './api/index'
// 引入百度插件
import BaiduMap from 'vue-baidu-map-3x'


var app=createApp(App)
.use(router)
.use(Vant)
.use(VueCookies)
.use(Api)
.use(BaiduMap, {
  // ak 是在百度地图开发者平台申请的密钥 详见 http://lbsyun.baidu.com/apiconsole/key */
  ak: 'K8dLjlA1sYw5FKMvzLKsgeHHhpNdadDu',
  // type: 'WebGL' // ||API 默认API  (使用此模式 BMap=BMapGL)
})
.mount('#app')

router.beforeEach(async (to,from,next)=>{
  //获取meta信息,判断如果为true需要登录，false不需要登录
  let IsLogin=to.meta.auth ?? false;
  if(IsLogin){
    const LoginUser=app.$cookies.get("LoginUser") ?? {};
    // JSON.stringify()将对象、数组转为JSON字符串
    if(JSON.stringify(LoginUser)=='{}'){
      showFailToast('未登录，请去登录')
      next('/business/login')
      return false;
    }else{
      let data={
        id:LoginUser.id ?? 0,
        mobile:LoginUser.mobile ?? ''
      }

      let result=await app.$Api.check(data)
      if(result.code==1){
        app.$cookies.set("LoginUser", result.data);
        next()
      }else{
        showFailToast('非法登录');
        app.$cookies.remove("LoginUser")
        next('/business/login')
        return false;
      }
      // 允许当前的导航继续进行，照原本的意图导航到目标路由
      next()
    }
  }else{
    next()
  }
})